//编写程序求出【a，b】之间的无暇素数，所谓无暇素数是指一个数本身是素数，它的逆序数也是素数，比如13。
//要求：编写两个函数，分别用来求逆序数和判定素数
//输入：
//10   100
//输出：(每两个数值间隔4个空格)
//11    13    17    31    37    71    73    79    97
// #include <math.h>
// #include <stdio.h>
//  int pdss(int n)
// {
//     int a=1;
//    for(int i=2;i<=sqrt(n);i++)
//    {
//        if(n%i==0)
//        {
//              a=0;
//              break;
//        }
//    }
//    if(a)
//    return 1;
//    else
//    return 0;
// }
// int nxs(int m)
// {
//    int s=0;
//    while(m)
//    {
//        s=s*10+m%10;
//        m/=10;
//    }
//    return s;
// }
// int main()
// {
//   int a,b;
//   scanf("%d%d",&a,&b);
//   for(int i=a;i<=b;i++)
//   {
//        if(pdss(i)==pdss(nxs(i))&&pdss(i)!=0) 
//        printf("%d    ",i);
//   }
//   return 0;
// }

// #include <stdio.h>
// #include <math.h>
// int pdss(int n)

// {
//    int a=1;
//    for(int j=2;j<=sqrt(n);j++)//判断素数
//    {
//         if(n%j==0)
//         {
//              a=0;
//               break;
//         }
//    }
//    if(a)
//    return 1;
//    else
//    return 0;
// }
// int main()
// {
//    int count=0;
//    int a,b;
//    scanf("%d %d",&a,&b);
//    for(int i=a;i<=b;i++)
//    {
//        if(pdss(i))
//        {
//         printf("%d    ",i);
//         count++;
//        if(count%5==0)
//        printf("\n");
//        }
//    }
//  return 0;
// }

//判断完数
// #include <stdio.h>
// int pdws(int n)
// {
//    int s=0;
//    for(int i=1;i<=n/2;i++)
//    {
//         if(n%i==0)
//         s+=i;
//    }
//    if(s==n)
//    return 1;
//    else
//    return 0; 
// }
// int main()
// {
//     int a,b;
//     scanf("%d %d",&a,&b);
//     for(int i=a;i<=b;i++)
//     {
//         if(pdws(i))
//         printf("%d    ",i);
//     }
//     return 0;
// }

#include <stdio.h>
double dsjc(int n)
{
   double s=0;
   double t=0;
   double h=1;
   for(int i=1;i<=n;i++)
   {
        h*=i;
        t=1.0/h;
        s+=t;
   }
   return s;
}
int main()
{
   int n;
   scanf("%d",&n);
   printf("%.6f",dsjc(n));
   return 0;
}